# -*- coding: utf-8 -*-
"""
Created on Mon Feb  4 23:47:10 2019
python3.6.3
Anaconda->spyder
opencv3.4.5
读取一个文件下所有图片，然后修改名字，并写入到新的文件。
这个可以统一文件名字，方便用于训练模型。
缺点：速度比较慢，根据电脑配置可能需要很长时间
@author: Administrator
"""
import cv2
import numpy as np
import os

dirname = 'images/'
i = 0
for root,dirs,files in os.walk('py_opencv/images/'): #读取所有图片的地址和名字
    '''下面4句非必要语句，可以删除'''
    #print(files)
    files2 = np.array(files)             #files为list类型，这里转化为数组
    print(files2.shape)                  #list没有shape、size的属性
    print(files2.size)
    
    for file in files:     
        print(type(file))        
        di = root + file                 #图片所在的真实地址
        img = cv2.imread(di)             #读取图片
        img = cv2.resize(img,(200,200))  #根据需要修改图片的尺寸，这不是裁剪，而是强行改变图片的尺寸
        file2 = 'file%d.jpg'%i           #给图片新的名字
#        cv2.imshow('_',img)
#        cv2.waitKey()
#        cv2.destroyAllWindows()
#        file3 = str(file2)
#        print(type(file2))
        cv2.imwrite(file2,img)           #写入图片，生成新图
        i += 1
        
        
"""
利用python进行文件内容合并成新文件。
要求：mergeTXT.txt，first.txt，second.txt三个文件都要存在，
     若mergeTXT.txt文件不存在时，运行的结果可能只生成这个文件，不进行写入，
     需要再运行一次才写入。
"""              
first=[]
second=[]
f=open('mergeTXT.txt','w')
with open('first.txt', 'r') as f1:
    for line in f1:
        line=line.strip()
        first.append(line)
with open('second.txt', 'r') as f2:
    for line2 in f2:
        line2=line2.strip()
        second.append(line2)

lenth_01 = len(first)
lenth_02 = len(second)
for i in range(10):
    result=first[i]+':\t'+second[i]+'\n'
    f.write(result)
    
f.close()  







